A storage system configured with a plurality of housings each storing a storage device such as a hard disk drive (HDD) stores data multiplied by mirroring between housings (inter-housing mirroring) and includes Just Resynchronization Mechanism (JRM). The JRM is a function for performing, when data between mirrorings become a mismatch due to a failure of a storage device, resynchronization processing on the data and resynchronizing the data.
FIG. 8 is a diagram for explaining JRM. As illustrated in FIG. 8, the JRM includes an operation when data are written and an operation when a failure occurs in a control module. The operation when data are written is such that the control module for controlling a storage system marks, when “write” is requested (1), a corresponding bit of a bitmap (for example, “1” is written) (2).
The bitmap mentioned here represents a map indicating whether each segment of the storage device is during write processing. In the bitmap, one bit is associated with one segment, and the bit corresponding to the segment during write processing is marked. The size of one segment is 256 MB.
The control module stores the data in storage devices of two logical unit numbers (LUNs) as targets for mirroring (3). When the storage of the data to the two storage devices is complete, the control module unmarks the corresponding bit of the bitmap (for example, “1” that has been written to the corresponding bit is changed to “0”) (4).
In the operation when a failure occurs in the control module, the control module checks a marked bit of the bitmap (5), and overwrites one of data in a range corresponding to the marked bit on the other one (6). In this case, it is not important that data of either one of data is overwritten on the other one, but priority is given to avoidance of mismatch between the data. The control module then unmarks the corresponding bit (7).
In this way, the control module identifies the segment that is in the middle of write processing, when the failure occurs, by using the bitmap and overwrites one of the data for the identified segment on the other data which are in a mirror relationship, so that the data can be resynchronized.
Each housing has two or more control modules, and each control module that receives a write request from a business server using the storage system is in charge of the control of marking a corresponding bit of the bitmap.
There is a conventional technology in which a first logical volume is provided in a first storage, a second logical volume obtained by copying the first logical volume and a third logical volume obtained by copying the second logical volume are provided in a second storage, and the first logical volume is recovered from the third logical volume.
There is another conventional technology in which a management table is provided in each node of a first site and a second site where a remote copy is preformed and, when the first site is stopped due to a failure, a logical directory that the first site provides to a client is reproduced in the second site by using the management table.
There is another conventional technology in which status information of grouped data is managed for each group by a storage system that copies data from a copy source housing to a copy destination housing and the consistency of the data is thereby managed by a storage device.
Patent Document 1: Japanese Laid-open Patent Publication No. 2003-233518
Patent Document 2: Japanese Laid-open Patent Publication No. 2009-3499
Patent Document 3: Japanese Laid-open Patent Publication No. 2011-164800
Recently, the processing of various operations is being implemented in a cloud environment, and a storage system suitable for speed-up and distribution of the processing of the operations is required. The configuration of the storage system includes an active-standby method and an active-active method.
The active-standby method mentioned here represents a method in which only one active control module receives an access request from a business server using the storage system. On the other hand, the active-active method mentioned here represents a method in which any control module can receive an access request from a business server. The active-active method has advantages such that a load of a primary control module can be distributed to a secondary control module and a recovery from the failure can be speedily performed and the like although the processing performed on the access request from the business server becomes complicated. Therefore, the active-active storage system tends to be increased.
However, in the active-active storage system, the management of an equivalent state between control modules becomes complicated, and this becomes an obstacle for implementation of a high-speed resynchronization function.